Shell কমান্ড থেকে AWK এর আউটপুট সংগ্রহ
AWK একটি শক্তিশালী টুল যা Shell স্ক্রিপ্ট এবং কমান্ড লাইনের সাথে ব্যবহার করা যায়। অনেক সময় Shell কমান্ড চালানোর পরে AWK ব্যবহার করে সেই আউটপুটকে প্রসেস করা হয়। Shell স্ক্রিপ্টে AWK এর আউটপুট সংগ্রহ করা এবং তা ব্যবহার করার পদ্ধতি সম্পর্কে নিচে আলোচনা করা হলো।
AWK এর আউটপুট ব্যবহার করে Shell ভেরিয়েবল এ সংরক্ষণ
Shell কমান্ড লাইনে AWK এর আউটপুটকে Shell ভেরিয়েবলে সংরক্ষণ করা যায়। এর জন্য কমান্ড সাবস্টিটিউশন $() বা ব্যাকটিক্স (``) ব্যবহার করা হয়।
উদাহরণ ১: AWK আউটপুটকে Shell ভেরিয়েবলে সংরক্ষণ
output=$(awk '/pattern/ {print $1}' filename.txt)
echo "The matched output is: $output"এখানে, AWK কমান্ড filename.txt ফাইলের প্রথম কলাম থেকে সেই লাইনের আউটপুট প্রিন্ট করে যেটিতে pattern পাওয়া যায়। Shell ভেরিয়েবল output এ সেই আউটপুট সংরক্ষণ করা হয় এবং তারপর echo ব্যবহার করে তা প্রদর্শন করা হয়।
AWK এর আউটপুট সরাসরি Shell কমান্ডের সাথে ব্যবহার
AWK এর আউটপুট সরাসরি পরবর্তী Shell কমান্ডের ইনপুট হিসেবে ব্যবহার করা যেতে পারে।
উদাহরণ ২: AWK আউটপুট ব্যবহার করে ফাইলের নাম প্রিন্ট করা
file=$(ls | awk '/\.txt$/ {print}')
echo "Text file found: $file"এখানে, ls কমান্ডের আউটপুট AWK এর মাধ্যমে ফিল্টার করা হয়েছে যা .txt দিয়ে শেষ হওয়া ফাইলগুলিকে খুঁজে বের করে এবং সেই ফাইলের নাম file ভেরিয়েবলে সংরক্ষণ করা হয়েছে।
Shell স্ক্রিপ্টে AWK এর আউটপুট ব্যবহার
Shell স্ক্রিপ্টের মধ্যে AWK কমান্ড ব্যবহার করে বড় ধরনের ডেটা প্রক্রিয়াকরণ করা যায় এবং তার আউটপুট অন্য কাজের জন্য ব্যবহার করা যায়।
উদাহরণ ৩: Shell স্ক্রিপ্টে AWK ব্যবহার করে ফলাফল সংরক্ষণ এবং প্রক্রিয়াকরণ
#!/bin/bash
# AWK কমান্ড থেকে আউটপুট সংগ্রহ করা
line_count=$(awk 'END {print NR}' filename.txt)
echo "Total number of lines in the file: $line_count"
# শর্তসাপেক্ষ ক্রিয়াকলাপ
if [ "$line_count" -gt 100 ]; then
echo "The file has more than 100 lines."
else
echo "The file has 100 or fewer lines."
fiএখানে, AWK ব্যবহার করে filename.txt ফাইলের মোট লাইন সংখ্যা নির্ণয় করা হয়েছে এবং সেই সংখ্যা line_count ভেরিয়েবলে সংরক্ষণ করা হয়েছে। পরে, সেই ভেরিয়েবলের মানের উপর ভিত্তি করে শর্তসাপেক্ষ ক্রিয়াকলাপ করা হয়েছে।
পাইপলাইন ব্যবহার করে AWK এর আউটপুট প্রসেসিং
AWK এর আউটপুটকে সরাসরি অন্য Shell কমান্ডের সাথে পাইপলাইন ব্যবহার করে প্রসেস করা যায়।
উদাহরণ ৪: AWK আউটপুটকে অন্য কমান্ডে পাঠানো
awk '/pattern/ {print $1}' filename.txt | sort | uniq > output.txtএখানে, AWK ব্যবহার করে filename.txt থেকে নির্দিষ্ট প্যাটার্ন অনুযায়ী প্রথম কলাম প্রিন্ট করা হয়েছে। তারপর সেই আউটপুট sort এবং uniq কমান্ডের মাধ্যমে ফিল্টার করে output.txt ফাইলে সংরক্ষণ করা হয়েছে।
সারসংক্ষেপ
Shell কমান্ডে AWK এর আউটপুট ব্যবহার করে আপনি জটিল ডেটা প্রক্রিয়াকরণ সহজে করতে পারেন। AWK এবং Shell কমান্ড একসাথে ব্যবহার করলে আপনার স্ক্রিপ্টিং এবং ডেটা বিশ্লেষণের ক্ষমতা বৃদ্ধি পায়। এই পদ্ধতিতে, Shell ভেরিয়েবলে AWK এর আউটপুট সংরক্ষণ, পাইপলাইন ব্যবহার এবং আউটপুটকে অন্যান্য কমান্ডে ফিল্টার করা সম্ভব।
Read more